-- dispatch_lictor
-- Created by chengb Jul/27/2015
-- 成就：使用灵魂链接（派遣扈从）

-- 内部函数声明
local whenDispatchLictor;

-- 注册使用灵魂链接的回调
EventMgr.register("achievements/dispatch_lictor", event.DISPATCH_LICTOR, function(args)
    whenDispatchLictor(args);
end);

-- 使用灵魂链接的回调
whenDispatchLictor = function(args)
    local dungeonId = args.dungeonId;
    local isClear   = args.isClear;
    
    if isClear then
        -- 清除随扈，不处理
        return;
    end

    -- 遍历所有的子规则
    local ids = AchievementM.getIdsByRule("dispatch_lictor");

    -- 判断是否是符合要求的成就
    local function isValidId(id)
        if true == AchievementM.isCompleted(id) then
            -- 已经完成了
            return false;
        end

        if not AchievementM.isBelongTo(id, dungeonId) then
            -- 不是该迷宫的成就
            return false;
        end

        return true;
    end

    for _, id in pairs(ids) do
        if isValidId(id) then
            -- 尝试完成成就
            AchievementM.tryComplete(id, 1);
        end
    end
end

return {
};